﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NeuralNetworkComponents;


namespace Tests
{
    class Program
    {

        static void Main(string[] args)
        {
            int sigmoidAlphaValue = 3;
            int neuronsInFirstLayer = 6;
            double learningRate = 0.01;
            double momentum = 1.0;

            int[] neuronsCount = new int[3];
            neuronsCount[0] = 4;
            neuronsCount[1] = 5;
            neuronsCount[2] = 1;
            //create network
            ActivationNetwork network = new ActivationNetwork(
                new BipolarSigmoidFunction( sigmoidAlphaValue ),
                neuronsInFirstLayer, neuronsCount);

            ConsolePrinter.PrintNetwork(network, ConsolePrinter.OutputType.Weights | ConsolePrinter.OutputType.Network);
            // create teacher
            BackPropagationLearning teacher = new BackPropagationLearning( network );

            // set learning rate and momentum
            teacher.LearningRate = learningRate;
            teacher.Momentum     = momentum;

            // loop
            /*
            while (true)
            {
                // run epoch of learning procedure
                double error = teacher.RunEpoch( input, output ) / samples;
            }
             */
        }
    }
}
